home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 October: Technology Seed / ADC Seed CD - October 1999.toast / FireWire / FireWire_2.1_SDK_DR3 / Source / FWiX / MakeFile < prev   
Encoding:
Makefile  |  1999-05-17  |  10.2 KB  |  360 lines  |  [TEXT/MPS ]

  1. #
  2. #    File:        MakeFile
  3. #
  4. #    Contains:    Build rules for FireWire File Exchange sample code.
  5. #
  6. #    Version:    1.0
  7. #
  8. #    Written by:    Jay Lloyd
  9. #
  10. #    Copyright:    © 1997-1999 by Apple Computer, Inc., all rights reserved.
  11. #
  12. #    File Ownership:
  13. #
  14. #        DRI:                Jay Lloyd
  15. #
  16. #        Other Contact:        
  17. #
  18. #        Technology:            FireWire
  19. #
  20. #    Writers:
  21. #
  22. #        (DCB)    Clinton Bauder
  23. #        (jkl)    Jay Lloyd
  24. #
  25. #    Change History (most recent first):
  26. #
  27. #       <FW5>      4/8/99    jkl        Updated to use GDF services and build FWiXFamily and FWiXExpert.
  28. #       <FW4>    12/19/98    DCB        More cleanup for SDK.
  29. #       <FW3>      8/6/98    jkl        Updated for SDK 1.2d1 build. Removed build of FWiXFamily and
  30. #                                    FWiXExpert.
  31. #       <FW2>     7/29/98    jkl        Updated to use latest Interfaces&Libraries. Bumped version.
  32. #       <FW1>    10/29/97    jkl        First checked in.
  33. #
  34.  
  35. ################################################################################
  36. #
  37. # Define some directories
  38. #
  39.  
  40. FWiXRootDir                    =    :
  41.  
  42. FWSampleDir                    =    {FWiXRootDir}::
  43.  
  44. FWInterfaces                =    {FWSampleDir}Interfaces:
  45.  
  46. FWLibraries                    =    {FWSampleDir}Libraries:
  47.  
  48. FWiXDriverDir                =    {FWiXRootDir}FWiXDriver:
  49. FWiXFamilyDir                =    {FWiXRootDir}FWiXFamily:
  50. FWiXAppDir                    =    {FWiXRootDir}FWiXApp:
  51.  
  52. BuildResultsDir                =    {FWSampleDir}BuildResults:
  53. ObjectsDir                    =    {BuildResultsDir}Objects:
  54. ApplicationsDir                =    {BuildResultsDir}Applications:
  55. ExtensionsDir                =    {BuildResultsDir}Extensions:
  56. LibsDir                        =    {BuildResultsDir}Libraries:
  57.  
  58. ################################################################################
  59. #
  60. # Define version info
  61. #
  62.  
  63. FWiXVersion                    =    1
  64. FWiXRevision                =    0
  65. FWiXBuildStage                =    alpha
  66. FWiXBuildNumber                =    14
  67. FWiXShortVersionString        =    '"1.0a14"'
  68. FWiXLongVersionString        =    '"1.0a14, © 1997-1999 Apple Computer, Inc."'
  69.  
  70.  
  71. ################################################################################
  72. #
  73. # Define stuff for PowerPC compilation
  74. #
  75.  
  76. MrCOptions                    =    -opt speed                                    ∂
  77.                                 -w 2,7,35                                    ∂
  78.                                 -d TRUE=1                                    ∂
  79.                                 -d FALSE=0                                    ∂
  80.                                 -i "{FWInterfaces}"                            ∂
  81.                                 -i "{CIncludes}"                            ∂
  82.                                 -d ETO_Build=1
  83.  
  84. CPPCOptions                    =    {MrCOptions}
  85.  
  86. CPPC                        =    MrC
  87.  
  88. LinkPPC                        =    PPCLink
  89.  
  90.  
  91. ################################################################################
  92. #
  93. # Define stuff for rez
  94. #
  95.  
  96. FWiXRezOptions                =    -d FWVersion={FWiXVersion}                            ∂
  97.                                 -d FWRevision={FWiXRevision}                        ∂
  98.                                 -d FWBuildStage={FWiXBuildStage}                    ∂
  99.                                 -d FWBuildNumber={FWiXBuildNumber}                    ∂
  100.                                 -d FWShortVersionString={FWiXShortVersionString}    ∂
  101.                                 -d FWLongVersionString={FWiXLongVersionString}        ∂
  102.                                 -d ETO_BUILD=1
  103.  
  104.  
  105. ################################################################################
  106. #
  107. # FireWire File Exchange Family
  108. #
  109.  
  110. "{ObjectsDir}FWiXFamily.c.o"    ƒ                                            ∂
  111.                             "{FWInterfaces}GenericDriverFamily.h"            ∂
  112.                             "{FWiXFamilyDir}FWiXFamily.c"                    ∂
  113.                             "{FWiXFamilyDir}FWiX.h"                            ∂
  114.                             "{FWiXFamilyDir}FWiXPriv.h"                        ∂
  115.                             "{FWiXFamilyDir}FWiXExpert.h"
  116.     {CPPC}                                                                    ∂
  117.         "{FWiXFamilyDir}FWiXFamily.c"                                         ∂
  118.         -i "{FWiXFamilyDir}"                                                ∂
  119.         {CPPCOptions}                                                        ∂
  120.         -o {Targ}
  121.  
  122. "{ExtensionsDir}FWiXFamily"    ƒ                                                ∂
  123.                             "{ObjectsDir}FWiXFamily.c.o"                    ∂
  124.                             "{FWiXFamilyDir}FWiXFamily.exp"                    ∂
  125.                             "{FWiXFamilyDir}FWiXFamily.r"                    ∂
  126.                             "{FWiXRootDir}MakeFile"
  127.     {LinkPPC}                                                                ∂
  128.         -t 'shlb'                                                            ∂
  129.         -c 'FWiX'                                                            ∂
  130.         -xm sharedlibrary                                                    ∂
  131.         -share global                                                        ∂
  132.         -w                                                                     ∂
  133.         -term TerminateFWXFamily                                            ∂
  134.         -@export "{FWiXFamilyDir}FWiXFamily.exp"                            ∂
  135.         "{ObjectsDir}FWiXFamily.c.o"                                        ∂
  136.         "{SharedLibraries}InterfaceLib"                                        ∂
  137.         "{SharedLibraries}StdCLib"                                            ∂
  138.         "{SharedLibraries}DriverServicesLib"                                ∂
  139.         "{SharedLibraries}NameRegistryLib"                                    ∂
  140.         "{SharedLibraries}DriverLoaderLib"                                    ∂
  141.         "{PPCLibraries}PPCCRuntime.o"                                        ∂
  142.         -o {Targ}
  143.     Rez                                                                        ∂
  144.         {FWiXRezOptions}                                                    ∂
  145.         "{FWiXFamilyDir}FWiXFamily.r"                                        ∂
  146.         -a                                                                    ∂
  147.         -o {Targ}
  148.  
  149. "{LibsDir}FWiXFamily"    ƒ                                                    ∂
  150.                             "{ExtensionsDir}FWiXFamily"
  151.     Duplicate                                                                ∂
  152.         -y                                                                    ∂
  153.         "{ExtensionsDir}FWiXFamily"                                            ∂
  154.         {Targ}
  155.  
  156. FWiXFamily    ƒ                                                                ∂
  157.                         "{ExtensionsDir}FWiXFamily"                            ∂
  158.                         "{LibsDir}FWiXFamily"
  159.  
  160. ################################################################################
  161. #
  162. # FireWire File Exchange Expert
  163. #
  164.  
  165. "{ObjectsDir}FWiXExpert.c.o"    ƒ                                            ∂
  166.                             "{FWInterfaces}GenericDriverFamily.h"            ∂
  167.                             "{FWiXFamilyDir}FWiXExpert.c"                    ∂
  168.                             "{FWiXFamilyDir}FWiX.h"                            ∂
  169.                             "{FWiXFamilyDir}FWiXPriv.h"
  170.     {CPPC}                                                                    ∂
  171.         "{FWiXFamilyDir}FWiXExpert.c"                                         ∂
  172.         -i "{FWiXFamilyDir}"                                                ∂
  173.         {CPPCOptions}                                                        ∂
  174.         -o {Targ}
  175.  
  176. "{ExtensionsDir}FWiXExpert"        ƒ                                            ∂
  177.                             "{FWLibraries}GenericDriverFamily"                ∂
  178.                             "{ObjectsDir}FWiXExpert.c.o"                    ∂
  179.                             "{FWiXFamilyDir}FWiXExpert.exp"                    ∂
  180.                             "{FWiXFamilyDir}FWiXExpert.r"                    ∂
  181.                             "{FWiXRootDir}MakeFile"                            ∂
  182.                             "{LibsDir}FWiXFamily"
  183.     {LinkPPC}                                                                ∂
  184.         -t 'expt'                                                            ∂
  185.         -c 'FWiX'                                                            ∂
  186.         -xm sharedlibrary                                                    ∂
  187.         -share global                                                        ∂
  188.         -w                                                                     ∂
  189.         -term FWXExpertTerminate                                            ∂
  190.         -@export "{FWiXFamilyDir}FWiXExpert.exp"                            ∂
  191.         "{ObjectsDir}FWiXExpert.c.o"                                        ∂
  192.         "{SharedLibraries}InterfaceLib"                                        ∂
  193.         "{FWLibraries}GenericDriverFamily"                                    ∂
  194.         "{LibsDir}FWiXFamily"                                                ∂
  195.         "{PPCLibraries}PPCCRuntime.o"                                        ∂
  196.         -o {Targ}
  197.     Rez                                                                        ∂
  198.         {FWiXRezOptions}                                                    ∂
  199.         "{FWiXFamilyDir}FWiXExpert.r"                                        ∂
  200.         -a                                                                    ∂
  201.         -o {Targ}
  202.  
  203. FWiXExpert    ƒ                                                                ∂
  204.                         "{ExtensionsDir}FWiXExpert"
  205.  
  206.  
  207. ################################################################################
  208. #
  209. # FireWire File Exchange Driver
  210. #
  211.  
  212. "{ObjectsDir}FWiXDriver.c.o"    ƒ                                            ∂
  213.                             "{FWiXDriverDir}FWiXDriver.c"                    ∂
  214.                             "{FWiXFamilyDir}FWiX.h"                            ∂
  215.                             "{FWInterfaces}FireWire.h"                        ∂
  216.                             "{FWiXDriverDir}FWiXDriver.h"
  217.     {CPPC}                                                                    ∂
  218.         "{FWiXDriverDir}FWiXDriver.c"                                         ∂
  219.         -i "{FWiXFamilyDir}"                                                ∂
  220.         -i "{FWInterfaces}"                                                    ∂
  221.         -i "{FWiXDriverDir}"                                                ∂
  222.         {CPPCOptions}                                                        ∂
  223.         -o {Targ}
  224.  
  225. "{ExtensionsDir}FWiXDriver"    ƒƒ                                                ∂
  226.                             "{LibsDir}FWiXFamily"                            ∂
  227.                             "{ObjectsDir}FWiXDriver.c.o"                    ∂
  228.                             "{FWiXDriverDir}FWiXDriver.exp"
  229.     {LinkPPC}                                                                ∂
  230.         -t 'ndrv'                                                            ∂
  231.         -c 'fw  '                                                            ∂
  232.         -xm sharedlibrary                                                    ∂
  233.         -w                                                                     ∂
  234.         -@export "{FWiXDriverDir}FWiXDriver.exp"                            ∂
  235.         "{ObjectsDir}FWiXDriver.c.o"                                        ∂
  236.         "{SharedLibraries}InterfaceLib"                                        ∂
  237.         "{SharedLibraries}StdCLib"                                            ∂
  238.         "{SharedLibraries}NameRegistryLib"                                    ∂
  239.         "{SharedLibraries}DriverServicesLib"                                ∂
  240.         "{SharedLibraries}PCILib"                                            ∂
  241.         "{FWLibraries}FWServicesLib"                                        ∂
  242.         "{LibsDir}FWiXFamily"                                                ∂
  243.         "{PPCLibraries}PPCCRuntime.o"                                        ∂
  244.         -o {Targ}
  245.  
  246. "{ExtensionsDir}FWiXDriver"    ƒƒ                                                ∂
  247.                             "{FWiXDriverDir}FWiXDriver.r"                    ∂
  248.                             "{FWiXRootDir}MakeFile"
  249.     Rez                                                                        ∂
  250.         {FWiXRezOptions}                                                    ∂
  251.         "{FWiXDriverDir}FWiXDriver.r"                                        ∂
  252.         -a                                                                    ∂
  253.         -o {Targ}
  254.  
  255.  
  256. FWiXDriver    ƒ                                                                ∂
  257.                         "{ExtensionsDir}FWiXDriver"
  258.  
  259. ################################################################################
  260. #
  261. # FireWire File Exchange Application
  262. #
  263.  
  264. "{ObjectsDir}FWiXmain.c.o"    ƒ                                                ∂
  265.                             "{FWiXAppDir}FWiXmain.c"                        ∂
  266.                             "{FWiXFamilyDir}FWiX.h"                            ∂
  267.                             "{FWiXAppDir}FWiXmain.h"                        ∂
  268.                             "{FWiXAppDir}FWiXdrag.h"
  269.     {CPPC}                                                                    ∂
  270.         "{FWiXAppDir}FWiXmain.c"                                             ∂
  271.         -i "{FWiXFamilyDir}"                                                ∂
  272.         -i "{FWiXAppDir}"                                                    ∂
  273.         {CPPCOptions}                                                        ∂
  274.         -o {Targ}
  275.  
  276. "{ObjectsDir}FWiXdrag.c.o"    ƒ                                                ∂
  277.                             "{FWiXAppDir}FWiXdrag.c"                        ∂
  278.                             "{FWiXFamilyDir}FWiX.h"                            ∂
  279.                             "{FWiXAppDir}FWiXmain.h"                        ∂
  280.                             "{FWiXAppDir}FWiXdrag.h"
  281.     {CPPC}                                                                    ∂
  282.         "{FWiXAppDir}FWiXdrag.c"                                             ∂
  283.         -i "{FWiXFamilyDir}"                                                ∂
  284.         -i "{FWiXAppDir}"                                                    ∂
  285.         {CPPCOptions}                                                        ∂
  286.         -o {Targ}
  287.  
  288. "{ObjectsDir}FWiXcopy.c.o"    ƒ                                                ∂
  289.                             "{FWiXAppDir}FWiXcopy.c"                        ∂
  290.                             "{FWiXFamilyDir}FWiX.h"                            ∂
  291.                             "{FWiXAppDir}FWiXdrag.h"                        ∂
  292.                             "{FWiXAppDir}FWiXmain.h"                            
  293.     {CPPC}                                                                    ∂
  294.         "{FWiXAppDir}FWiXcopy.c"                                             ∂
  295.         -i "{FWiXFamilyDir}"                                                ∂
  296.         -i "{FWiXAppDir}"                                                    ∂
  297.         {CPPCOptions}                                                        ∂
  298.         -o {Targ}
  299.  
  300. "{ObjectsDir}FWiXprefs.c.o"    ƒ                                                ∂
  301.                             "{FWiXAppDir}FWiXprefs.c"                        ∂
  302.                             "{FWiXAppDir}FWiXprefs.h"                        ∂
  303.                             "{FWiXAppDir}FWiXmain.h"                        ∂
  304.                             "{FWiXFamilyDir}FWiX.h"
  305.     {CPPC}                                                                    ∂
  306.         "{FWiXAppDir}FWiXprefs.c"                                             ∂
  307.         -i "{FWiXFamilyDir}"                                                ∂
  308.         -i "{FWiXAppDir}"                                                    ∂
  309.         {CPPCOptions}                                                        ∂
  310.         -o {Targ}
  311.  
  312. "{ApplicationsDir}FWiX"    ƒƒ                                                    ∂
  313.                             "{LibsDir}FWiXFamily"                            ∂
  314.                             "{ObjectsDir}FWiXmain.c.o"                        ∂
  315.                             "{ObjectsDir}FWiXdrag.c.o"                        ∂
  316.                             "{ObjectsDir}FWiXprefs.c.o"                        ∂
  317.                             "{ObjectsDir}FWiXcopy.c.o"                        ∂
  318.                             "{FWiXAppDir}FWiX.exp"
  319.     {LinkPPC}                                                                ∂
  320.         -w                                                                     ∂
  321.         -c 'fwfx'                                                            ∂
  322.         -@export "{FWiXAppDir}FWiX.exp"                                        ∂
  323.         -main FWXMain                                                        ∂
  324.         "{ObjectsDir}FWiXmain.c.o"                                            ∂
  325.         "{ObjectsDir}FWiXdrag.c.o"                                            ∂
  326.         "{ObjectsDir}FWiXprefs.c.o"                                            ∂
  327.         "{ObjectsDir}FWiXcopy.c.o"                                            ∂
  328.         "{SharedLibraries}InterfaceLib"                                        ∂
  329.         "{SharedLibraries}StdCLib"                                            ∂
  330.         "{SharedLibraries}DragLib"                                            ∂
  331.         "{LibsDir}FWiXFamily"                                                ∂
  332.         "{PPCLibraries}PPCCRuntime.o"                                        ∂
  333.         -o {Targ}
  334.  
  335. "{ApplicationsDir}FWiX"    ƒƒ                                                    ∂
  336.                             "{FWiXAppDir}FWiX.rsrc"                            ∂
  337.                             "{FWiXAppDir}FWiX.r"                            ∂
  338.                             "{FWiXRootDir}MakeFile"
  339.     DeRez                                                                    ∂
  340.         "{FWiXAppDir}FWiX.rsrc"                                                ∂
  341.         > "{ObjectsDir}FWiX.r"
  342.     Rez                                                                        ∂
  343.         {FWiXRezOptions}                                                    ∂
  344.         "{ObjectsDir}FWiX.r"                                                ∂
  345.         "{FWiXAppDir}FWiX.r"                                                ∂
  346.         -a                                                                    ∂
  347.         -o {Targ}
  348.  
  349. FWiXApp    ƒ                                                                    ∂
  350.                         "{ApplicationsDir}FWiX"
  351.  
  352.  
  353. # Build all of FWiX.
  354.  
  355. FWiX    ƒ                                                                    ∂
  356.                         FWiXFamily                                            ∂
  357.                         FWiXExpert                                            ∂
  358.                         FWiXDriver                                            ∂
  359.                         FWiXApp
  360.